package com.util;

import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.serializer.SerializeFilter;
import org.springframework.stereotype.Component;

import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

/**
 * @author Xiongx
 * @version 1.0
 * @date 2021/6/25 15:20
 * @since JDK 1.8
 *
 *
 * JSON数据备份
 */
@Component
public class JSONTemp {



    public <T> List<T> stringToArray(String str,Class<T> cls){
        return JSONObject.parseArray(str,cls);
    }

    /**
     * 字符串转对象
     * @param str
     * @param cls
     * @param <T>
     * @return
     */
    public <T> T stringToObject(String str,Class<T> cls){
        return JSONObject.parseObject(str,cls);
    }

    /**
     * 将对象转为字符串
     * @param t
     * @param <T>
     * @return
     */
    public <T> String obecjtToJSONString(T t){
        return JSONObject.toJSONString(t, new SerializeFilter() {
            @Override
            public int hashCode() {
                return super.hashCode();
            }
        });
    }

    public static void main(String[] args) {
        Pattern pattern = Pattern.compile("src=http://(?!(\\.jpg|\\.png)).+?(\\.jpg|\\.png)");

        String str="<img src=\"image\\123.jpg\">   <img src=\"image\\123.jpg\">    <img src=\"image\\123.jpg\">" +
                "<img src=\"image\\123.jpg\"> <img src=\"image\\123.jpg\">" +
                "<img src=\"image\\123.jpg\">" +
                "<img src=\"image\\123.jpg\">" +
                "<img src=\"image\\123.jpg\">";
       // String regex="<img.*src\\s*=\\s*(.*?)[^>]*?>";
      //  String regex1="<img .*? src=\"(.*?)";
        String s=matcherContents(str);
        System.out.println(s);
    }






    public static String matcherContents(String content){
        Pattern p_src = Pattern.compile("(src|SRC)=(\"|\')(.*?)(\"|\')");
        //让正则对象和要操作的字符串相关联；
        Matcher m = p_src.matcher(content);
        //m.find():将规则作用到字符串上，并进行符合规则的字串查找；

        while (m.find()) {
            String grop=m.group();
            System.out.println(grop);
            String s=grop.replace("src=\"","src=/group/");
            s=s.replace("\"","'");
            content=content.replace(m.group(),s);
            // System.out.println(m.start() + "---" + m.end()); //获取找到字串的始末索引(包含头，不包含尾);
        }
        return content;
    }

}
